package com.baichang.taoshunda.service;

import com.baichang.framework.excelption.ServiceException;

import java.util.Map;

/**
 * Created by ${wushenglu} on 17/08/23.
 */
public interface ShopcarService {
    /**
     * 添加购物车
     *  @param userId    用户编号
     * @param bussId    商家编号
     * @param goodsId   商品编号
     * @param number    数量
     * @param goodsSpec 规格
     * @param operator  1  加  2减  运算方式
     * @param isBespeak
     * @param isNoReasonReturn
     * @param isHomeInstallation
     * @param isFree
     * @param unit @return
     * @param goodsPrice
     * */
    boolean addShopCar(Integer userId, Integer bussId, Integer goodsId, Integer number, String goodsSpec, Integer operator, Integer isBespeak, Integer isNoReasonReturn, Integer isHomeInstallation, Integer isFree, String unit, Double goodsPrice) throws ServiceException;

    /**
     * 修改购物车
     *
     * @param carId     购物车编号
     * @param userId    用户编号
     * @param bussId    商家编号
     * @param goodsId   商品编号
     * @param number    数量
     * @param goodsSpec 规格
     * @return
     */
    boolean updateShopCar(Integer carId, Integer userId, Integer bussId, Integer goodsId, Integer number, String goodsSpec);

    /**
     * 删除购物车
     *
     * @param userId 用户编号
     * @param bussId
     * @return
     */
    boolean deleteShopCarById(Integer userId, Integer bussId);

    /**
     * 查询用户在商家的购物车
     *
     * @param userId 用户编号
     * @param bussId 商家编号
     * @return
     */
    Map<String, Object> findShopCar(Integer userId, Integer bussId);

    /**
     * 清空用户的购物车
     *
     * @param userId
     * @return
     */
    boolean removeAllCar(Integer userId);
}
